# -*- coding: utf-8 -*-
# @Time        :2024/9/23 下午6:51
# @Author      :文刀水寿
# @File        : demo25.py
"""
 @Description :演示对文件的读取
"""
import time

# 打开文件
f = open("C:/新建文件夹/测试.txt", "r", encoding="UTF-8")
print(type(f))
# 读操作相关方法
# 1.read()方法  ---文件对象.read(num)--num表示要文件中读取的数据的长度字节，如果没有传入num，那么就表示读取文件的所有数据，
# --readlines()方法，可以按照行的方式把整个文件中的内容进行一次性读取，并且返回的是一个列表，其中每一行的数据为一个元素
# 在读取过程中，先使用了read方法读取一个文件时，会产生一个指针指向最后一个读取的元素，再使用readLines时会继续沿用这个指针向后读
# 这就导致了如果read已经读取文件中所有元素时，readLines将会读取结果为空。

# 读取文件-raed()
print(f"读取10个字节的结果是： {f.read()}")
# 读取文件-readLines()
f = open("D:/测试.txt", "r", encoding="UTF-8")

print(f"读取的结果是： {f.readlines()}")
# 读取文件-readline()方法 ：一次只读一行内容。
f = open("C:/新建文件夹/测试.txt", "r", encoding="UTF-8")
print(f"读取的结果是： {f.readline()}")
# for循环读取文件行
f = open("C:/新建文件夹/测试.txt", "r", encoding="UTF-8")
for line in f:
    print(f"每一行的内容是： {line}")

# 关闭的文件
# 文件关闭 ---close()方法
f.close()
time.sleep(6000)  # 程序暂停秒

# with open 语法操作 --通过子啊with open的语句块中对文件进行操作，可以在操作完成后自动关闭close文件，避免遗忘掉close()方法
with open("C:/新建文件夹/测试.txt", "r", encoding="UTF-8") as f:
    for line in f:
        print(f"每一行的内容是： {line}")
